Method for managing information

ABSTRACT

A method for managing the exchange of information is provided, wherein the method includes receiving at least one information location identifier, wherein the at least one information location identifier may be associated with at least one information portal and associating with at least one network browser. The method further includes generating an information location identifier template responsive to the at least one information portal and communicating with the at least one information portal to identify resultant information.

FIELD OF THE INVENTION

This invention relates generally to a method for managing informationand more particularly to a method for managing the exchange ofinformation via a network.

BACKGROUND OF THE INVENTION

One of the most remarkable success stories of recent times is the rapidgrowth and widespread acceptance of the Internet-based World Wide Web(hereinafter the “Web”). The Web provides both the normal individual andthe professional information seeker access to a wealth of information onalmost every subject under the sun of both casual and professionalinterest. Simply by entering keywords into a web browser that works inconcert with a web site, an information seeker can search a vast amountof the content on the web, and thereby locate any web pages that matchthe seeker's query. Unfortunately however, due to the abundance ofinformation that is accessible through the web, information seekers mayfind that they actually obtain too much information, in fact much moreinformation than they are able to review. For example, an Internetsearch for the keyword “automobile” using the Google® Internet searchengine returned an overwhelming fifty-three million eight hundredthousand related web sites. Even with this vast resource at theirdisposal, it is doubtful that any person could examine that many webpages.

One method that has been developed to overcome this obstacle involvesranking the web pages based upon criteria. As such, in order to make theresults of a search tractable, the browser's presentation of the searchresults may be limited to a relatively small number of web pages, eventhough the search engine may have found a larger number of relevant webpages. Furthermore, the pages that are presented are often rankedaccording to their relevancy to the search using rules that are knownand/or defined by the search engine but are often unknown by thesearcher. Unfortunately, this method is insufficient because the task ofoperating the Internet browser is up to the user, meaning that the usermust still manually submit queries to one or more sites. Thus, the userhas to start the internet browser program and then input a web address(URL) into the location field in order to tell the browser to navigateto a specific site before they can input their query. The user must thenrepeat this process for every site the user would like to submit aquery. Because of these limitations, the typical searcher is unable togain the full benefit of the wealth of information that is potentiallyavailable through the Internet.

Another problem for Internet web ‘surfers’ involves the time it takes tonavigate through web pages. For example, if a user is seeking to obtaininformation from a particular web site the user has to open a browser,navigate to that web site's home page, provide selection criteriarelated to a desired query and click on a submission button. Inresponse, a web page containing the information (or links to theinformation) the user seeks is displayed. This can be a time consumingprocess especially if the user has to look for multiple pieces ofinformation on several different web sites. Consider the situation wherean individual frequently shops on line. When that individual determinesthat they would like to buy a product, they must open a browser,navigate to an online store and provide selection criteria related tothe product they are seeking. As above, if the individual wants to shopfor several items or perform comparison shopping for the best prices,they must perform this task as many times as necessary until theindividual has obtained all of the items they desired and/or until theyare satisfied that they obtained the best price. This can be a very timeconsuming and frustrating task.

SUMMARY OF THE INVENTION

A method for managing the exchange of information is provided, whereinthe method includes receiving at least one information locationidentifier, wherein the at least one information/location identifier maybe associated with at least one information portal and associating withat least one network browser. The method further includes generating aninformation location identifier template responsive to the at least oneinformation portal and communicating with the at least one informationportal to identify resultant information.

A method for managing the exchange of information via an informationmanagement software application is provided, wherein the method includesreceiving at least one information location identifier via theinformation management software application, wherein the at least oneinformation location identifier is associated with at least oneinformation portal. The method further includes associating theinformation management software application with at least one networkbrowser. Additionally, the method includes generating an informationlocation identifier template responsive to the at least one informationportal and communicating with the at least one information portal viathe information management software application to identify resultantinformation.

A machine-readable computer program code is provided, wherein theprogram code includes instructions for causing a controller to implementa method for managing the exchange of information. The method formanaging the exchange of information includes receiving at least oneinformation location identifier, wherein the at least one informationlocation identifier is associated with at least one information portaland associating with at least one network browser. The method formanaging the exchange of information also includes generating aninformation location identifier template responsive to the at least oneinformation portal and communicating with the at least one informationportal to identify resultant information.

BRIEF DESCRIPTION OF DRAWINGS

The foregoing and other features and advantages of the present inventionwill be better understood from the following detailed description ofillustrative embodiments, taken in conjunction with the accompanyingdrawings in which:

FIG. 1 is a top level block diagram illustrating a method for managingthe exchange of information in accordance with an exemplary embodiment;

FIG. 2 is a screen capture of the Graphical User Interface generated bythe software application for implementing the method of FIG. 1;

FIG. 3 is a screen capture of the Graphical User Interface forimplementing the method of FIG. 1;

FIG. 4 is a screen capture of the Graphical User Interface forimplementing the method of FIG. 1;

FIG. 5 is a screen capture of the Graphical User Interface forimplementing the method of FIG. 1;

FIG. 6 is a screen capture of the Graphical User Interface forimplementing the method of FIG. 1;

FIG. 7 is a screen capture of the Graphical User Interface forimplementing the method of FIG. 1;

FIG. 8 is a screen capture of the Graphical User Interface forimplementing the method of FIG. 1;

FIG. 9 is a screen capture of the Graphical User Interface forimplementing the method of FIG. 1;

FIG. 10 is a screen capture of the Graphical User Interface forimplementing the method of FIG. 1;

FIG. 11 is a screen capture of the Graphical User Interface forimplementing the method of FIG. 1;

FIG. 12 is a screen capture of the Graphical User Interface forimplementing the method of FIG. 1;

FIG. 13 is a is a screen capture of the Graphical User Interface forimplementing the method of FIG. 1;

FIG. 14 is a is a screen capture of the Graphical User Interface forimplementing the method of FIG. 1;

FIG. 15 is a is a screen capture of the Graphical User Interface forimplementing the method of FIG. 1;

FIG. 16 is a is a screen capture of the Graphical User Interface forimplementing the method of FIG. 1;

FIG. 17 is a is a screen capture of the Graphical User Interface forimplementing the method of FIG. 1;

FIG. 18 is a is a screen capture of the Graphical User Interface forimplementing the method of FIG. 1;

FIG. 19 is a is a screen capture of the Graphical User Interface forimplementing the method of FIG. 1;

FIG. 20 is a is a screen capture of the Graphical User Interface forimplementing the method of FIG. 1;

FIG. 21 is a is a screen capture of the Graphical User Interface forimplementing the method of FIG. 1; and

FIG. 22 is a schematic block diagram illustrating a system forimplementing the method of FIG. 1.

DETAILED DESCRIPTION OF THE INVENTION

In accordance with an exemplary embodiment, a method for managing theexchange of information is disclosed herein and described in terms of asoftware application that sits “on top” of a network access portal, suchas an Internet web browser (hereinafter “browser”). The softwareapplication may be configured to communicate with any browser thatsupports automation, wherein as used herein the term automation refersto a program feature defined as the exposure of some or all of thefunctionality of one program to another to allow for interaction betweenthe programs. The method may facilitate the management of informationexchange by allowing a user to access a plurality of information portals(hereinafter “web sites”) in simultaneous and/or near simultaneousfashion using a browser management feature as well as an inter web sitenavigation feature. Once a web site has been associated with thesoftware application, the steps normally required to retrieve desiredinformation from that web site are reduced to introducing data to thesoftware application and activating the software application. Thesoftware application then interfaces with a browser to download specificweb page(s) displaying desired results responsive to a query. It shouldbe appreciated that the software application may accomplish the abovetask by ‘teaching’ itself how to communicate with the web site, asdiscussed further hereinafter. It should also be appreciated that theinvention allows for communication with any type of information portalvia the HTML Post and/or Get methods. However, the software applicationmay be configured to communicate only with web sites that have certaincharacteristics, such as web sites that expose the user query as part ofthe Universal Resource Locator (URL) address (i.e. HTML GET method) todecide which web pages to display.

The method allows for the organization of all web sites into a pluralityof categories, including, but not limited to: a Search Engine (SE)category, an Online Store (OS) category, a Billboard (BB) category andan Other (0) category. The SE category may be for any web sites thatprovide Internet search features, such as Yahoo!®, MSN® and Google®. TheOS category may be for any web site that offers products for sale, suchas Bestbuy.com, Target.com and Amazon.com. The BB category may be forany web site that allows for information exchange and does not provideany means for the user to search for information or that does not exposethe user query as part of the URL address (i.e. HTML Post Method). The Ocategory may be for any web site that does not fit into any of theaforementioned categories. Examples of O category web sites might bedictionary websites, Real Estate web sites, map generation web sites,driving direction web sites and weather forecasting web sites. It iscontemplated that the software application may allow a user to associatewith uncategorized web sites and/or create other types of categories asdesired, wherein each of the user defined categories may have userdefined, category specific parameters.

In accordance with an exemplary embodiment, the software application‘teaches’ itself to communicate with web sites on an individual basis.This is because for each web site, the query submitted will cause theweb site to generate an information location identifier or uniqueaddress query string responsive to the query terms submitted. Forexample, consider the query term “purple jasmine” being submitted to twodifferent Search Engines (SE), Google® and Yahoo!®. Submitting the queryterm “purple jasmine” to Google® causes Google® to generate the addressquery string “http://www.google.com/search?hl=en&q=purple+jasmine”,whereas submitting the same query to Yahoo!® causes Yahoo!® to generatethe address query string“http://search.yahoo.com/search?p=purple+jasmine&fr=FP-tab-web-t&toggle=1&cop=&ei=UTF-8”.It should be apparent that, even though the query terms are the same,the address query string generated by Yahoo!® is different from theaddress query string generated by Google®. Thus, in order for thesoftware application to successfully interact with these web sites, thesoftware application has to be able to submit the query term to thedesired web sites in the format specific to the particular web site. Assuch, when the software application is associated with a web site, thesoftware application must learn how to communicate with the web site. Itshould be appreciated that an information portal may, at times, modifythe format of their address query strings. Additionally, certaininformation portals (such as Google® Maps) do not display the URL unlessthe user specifically requests them. As such, the method of theinvention allows for the ‘retraining’ of the software program toaccommodate for these situations.

This may be accomplished by generating an information locationidentifier template or address query string template. For example, whileassociating the software application with a web site, the softwareapplication will prompt the user to input a query term(s) into the website. The software application will examine the query address stringgenerated by the web site and identify the location of the query termwithin the address query string as well as identify any informationportal separators used to separate the query terms from each other. Inthe situation above, both Yahoo!® and Google® use the information portalseparator “+” to separate the query terms from each other. The softwareapplication then generates an address query string template for the website being associated. For example, the address query string templatefor Google® would be “http://www.google.com/search ?hl=en&q=query term1+query term 2” and the address query string template for Yahoo!® wouldbe “http://search.yahoo.com/search?p=query term 1+query term2&fr=FP-tab-web-t&toggle=1&cop=&ei=UTF-8.” From thereon after, when theuser inputs a query term into the software application for interactionwith Yahoo!® and/or Google®, the software application will use theaddress query string template to generate an appropriate address querystring for the web site being engaged. It should be appreciated that inthe case, where the web site does not require a query term, such asbulletin board web site, or where the user fails to enter sample querytext, the software application may use a default address query string,such as the home page of the web site.

Referring to FIG. 1, a high-level block diagram illustrating a method100 for managing the exchange of information is illustrated and includesassociating with at least one network browser, as shown in operationalblock 102. As described further hereinafter, this may be accomplishedvia a software application configured to associate and/or interact witha plurality of web sites via the network browser.

The method 100 further includes receiving at least one informationlocation identifier, as shown in operational block 104, wherein the atleast one information location identifier may be associated with atleast one information portal via the network browser. It should beappreciated that the information location identifier may be anyinformation location identifier suitable to the desired end purpose,such as Uniform Resource Identifier (URI) addresses, including UniformResource Locator (URL), Internet Protocol (IP), File Transfer Protocol(FTP), and Local Machine File (LMF) addresses. As described in moredetail hereinabove, an information location identifier template may begenerated, as shown in operational block 106, responsive to theinformation portal associated with the information location identifier.Moreover, the method includes communicating with the information portalto identify resultant information, as shown in operational block 108.

By way of several examples described hereinafter, the method 100 isillustrated. However, it should be appreciated that these examples areby no means meant to represent the entire scope of the presentinvention. Referring to FIG. 2, consider the situation where thesoftware application for implementing the method 100 has been activated,associated with a network browser and a Graphical User Interface (GUI)200 generated by the software application is shown in an expanded mode202 displayed on a computer desktop screen 204. In the expanded mode202, the GUI 200 includes a caption bar portion 206, a text inputportion 208, wherein the text input portion 208 may or may not include atext input box 209, a command button 210, an category tab portion 212, aplurality of function buttons 214 and a browser tab portion 215, whichidentifies the web site being displayed. The category tab portion 212includes a new category tab 216, a go to tab 218 and a category tab 220for each existing category that includes an information portal. Forexample, in this case the software application has been associated withthe information portals “Google®” and “Yahoo®”, wherein both “Google®”and “Yahoo®” have been assigned to the Search Engine (SE) category.Thus, a search engine category tab 222 has been generated with aselectable “Google®” link 224 and a selectable “Yahoo®” link 226, aswill be discussed in more detail hereinafter. The function buttons 214include an “Add a Site” button 228 for associating the softwareapplication with additional information portals, a “Display Options”button 230, a “Clear History” button 232 and a “Docking” button 234.Referring to FIG. 3 and FIG. 4, the GUI 200 may also be displayed in aminimalist mode 236, depending upon the desire of a user. When in theminimalist mode 236, if the user places the mouse pointer over acategory tab 220, the content links in the category tab may bedisplayed. For example, in this case, the selectable “Google®” link 224and the selectable “Yahoo®” link 226 are displayed when the mousepointer is placed over the search engines category tab 222.

In accordance with an exemplary embodiment, a user may create newcategories by selecting the “new category” tab 216, as shown in FIG. 5.Upon selection of the “new category” tab 216, a child-GUI 238 having aname field 240 is displayed to the user prompting the user to enter adescriptive name identifying the category to be created. In this case,the descriptive name “Online Stores” was entered into the name field240. The user selects the “Add Tab” button 242, which then generates andadds an “Online Stores” tab 237 to the category tab portion 212, asshown in FIG. 6. The user may associate an information portal with thecategory by placing the mouse pointer over the category tab 220, whereinthe “Add a Site” button 228 may be displayed to the user. If the userselects the “Add a Site” button 228 the user will be prompted to enterinformation into the software application regarding the informationportal to be associated, as shown in FIG. 7.

For example, consider the situation where the user would like toassociate the web site for the department store Target® with thesoftware application. The user places the mouse pointer over the “OnlineStores” tab 237 in the category tab portion 212 causing the softwareapplication to display the “Add a Site” button 228. The user selects the“Add a Site” button 228 and an input GUI 246 is displayed prompting theuser to enter descriptive information into a description input field 248and the web address of the information portal into an address inputfield 250, as shown in FIG. 7. In this case, the descriptive nameentered is “Target” and the web address is “www.target.com.”Additionally, the user may be prompted to select/change the category ofthe information portal via a plurality of category action buttons 252.The user then selects the “OK” button 254 and the software applicationcommunicates with the information portal to verify that the informationentered into the input GUI 246 is valid. Once the information has beenverified, the web page specified by the user is displayed in a networkbrowser window 256 that has no toolbars, and the software applicationplaces a dialog box 258 over the network browser window 256, wherein thedialog box 258 may be moved around the network browser window 256 toallow the input field 260 of the network browser window 256 to bevisible and unobstructed. The dialog box 258 prompts the user to entersample text into the input field 260 of the web page displayed in thenetwork browser window 256 and to select the submission button 262 onthe web page.

The software application then analyzes the web address generated byselecting the submission button 262 on the web page to generate aninformation location identifier template, as discussed hereinbefore,uniquely responsive to the information portal. For example, referring toFIG. 8, after the information portal associated with the web address“www.target.com” is added to the software application, the user isprompted to enter randomly generated sample text, in this case “orangejasmine” into the web page's input field 260 and activate the submissionbutton 262. The web address associated with the sample text is found tobe “http://www.target.com/gp/search.html/ref=sr_bx_(—)1/602-8411649-6824614?field-keywords=orange+jasmine&index=target.” The software application analyses this web addressgenerated by selecting the submission button 266 and then generates aninformation location identifier template uniquely responsive to the webaddress “www.target.com”, as discussed hereinabove. In this case theinformation location identifier template may behttp://www.target.com/gp/search.html/ref=sr_bx_(—)1/602-8411649-6824614?field-keywords=first_term+second_term&index=target.”Theuser may then access the information portal(s) via the softwareapplication.

Referring to FIG. 9, this may be accomplished by activating the softwareapplication such that the Graphical User Interface (GUI) 200 is shown ineither its minimalist mode 236 or its expanded mode 202. The user maythen select the web site(s) to access by placing the mouse pointer overthe appropriate category tab 212 such that the available web site(s)associated with that category are displayed. For example, the user hasselected the Online Stores (OS) category tab 237 and the available website (i.e. Target) associated with that category tab is displayed as aselectable “Target®” link 264. It should be appreciated that if theOnline Stores (OS) category included more available web sites, each ofthose web sites would be displayed along side the selectable “Target®”link 264 via selectable web site links. The user may then select theselectable “Target®” link 264, as shown in FIG. 10. At this point a GUIquery input field 266 is displayed in the text input portion 208,wherein the GUI query input field 266 is associated with the web page'sinput field 260 of the Target® web site and the command button 210 isassociated with the web site's submission button 262. Referring to FIG.11, the user may input a query text into the GUI query input field 266and select the command button 210. As discussed hereinabove, thesoftware application generates a query address string responsive to thequery text and communicates that query address string to the web sitevia the network browser. For example, if the user enters the query text“cordless phone”, the query address string generated using theinformation location identifier template may be“http://www.target.com/gp/search.html/ref=sr_bx_(—)1/602-8411649-6824614?field-keywords=cordless+phone&index=target.”The Target® web site generates resultant information responsive to thequery text and displays the resultant information to the user via anetwork browser window 268, as shown in FIG. 12.

As another example, consider the situation where the user wants to add abillboard site to a specific category, such as a news category.Referring to FIG. 13, the computer desktop screen 204 is shown with thesoftware application for implementing the method 100 activated anddisplayed in its minimalist mode 236, wherein the software applicationincludes a plurality of category tabs generated as discussedhereinabove. To add a billboard site to the news category, the user mayplace the mouse pointer over the “News” category tab 243 in the categorytab portion 212 causing the software application to display the “Add aSite” button 228 for the “News” category tab 243. The user may thenselect the “Add a Site” button 228 and an input GUI 246 is displayedprompting the user to enter descriptive information into a descriptioninput field 248 and the web address of the information portal to beadded into an address input field 250, as shown in FIG. 14. In thiscase, the descriptive name entered is “NBC30” and the web address is“www.nbc30.com.” Additionally, the user may be prompted to select/changethe category of the information portal via a plurality of categoryaction buttons 252, wherein in this case, the user selects the“billboard” category action button 222. The user then selects the “OK”button 254 and the software application communicates with theinformation portal to verify that the information entered into the inputGUI 246 is valid.

Once the entered information has been validated, a “success message” maybe displayed in the caption bar portion 206 and the user may select thenewly added billboard site for display, as shown in FIG. 15. This may beaccomplished by again placing the mouse cursor over the “News” categorytab 243 in the category tab portion 212 and selecting the “NBC30” actionbutton 270, as shown in FIG. 16. The software application willcommunicate with the information portal (i.e. www.nbc30.com) associatedwith the NBC30 billboard action button and display the web site to theuser via the browser window 256, as shown in FIG. 17. It should beappreciated that sites that do not have input fields for query text orfor sites where the user does not enter query text when prompted, theinformation location identifier template may be defaulted to apredetermined web page, such as the home page of the newly addedinformation portal. In this case, the default information locationidentifier template may be “www.nbc30.com.” The user may then surf theweb site as desired. If the information portal includes a plurality ofquery fields, then a plurality of query fields 272 may be displayed bythe software application for input by the user, as shown in FIG. 18. Itshould be appreciated that the software application may allow the userto generate and/or configure the plurality of query fields, as shown inFIG. 19, or the software application may automatically generate and/orconfigure the plurality of query fields 272.

Consider still yet another example, where the user is searching aplurality of web sites simultaneously or near simultaneously. Referringto FIG. 20 and FIG. 21, consider the situation where the user wants tosearch a plurality of web sites that have already been associated withan Online Store category tab for “karaoke”. The user may place the mousecursor over the Online Store category tab and select the informationportals available under the Online Store category tab. In this case, theinformation portals associated with Online Store category tab that havebeen selected include “Best Buy”, “Shopping.com”, “Buy.com,” “Target,”and “CNET Shopper.” Once these information portals have been selectedfor query, the user may enter the desired query term into the displayedquery field and select the submission button. The software applicationwill then communicate this query term to each of the selectedinformation portals responsive to the predetermined template asdiscussed in greater detail hereinbefore. Once the desired informationhas been received from the selected information portals, a portal button274 is displayed to the user in the browser tab section 214 of thesoftware application, wherein the user may surf between each of theselected information portals simply by selecting the appropriate portalbutton.

Referring to FIG. 22, a block diagram illustrating a system 500 forimplementing EDMS 100 is shown and includes a general computer system502, including a processing device 504, a system memory 506, and asystem bus 508, wherein the system bus 508 couples the system memory 506to the processing device 504. The system memory 506 may include readonly memory (ROM) 510 and random access memory (RAM) 512. A basicinput/output system 514 (BIOS), containing basic routines that help totransfer information between elements within the general computer system502, such as during start-up, is stored in ROM 510. The general computersystem 502 further includes a storage device 516, such as a hard diskdrive 518, a magnetic disk drive 520, e.g., to read from or write to aremovable magnetic disk 522, and an optical disk drive 524, e.g., forreading a CD-ROM disk 526 or to read from or write to other opticalmedia. The storage device 516 may be connected to the system bus 508 bya storage device interface, such as a hard disk drive interface 530, amagnetic disk drive interface 532 and an optical drive interface 534.The drives and their associated computer-readable media providenonvolatile storage for the general computer system 502. Although thedescription of computer-readable media above refers to a hard disk, aremovable magnetic disk and a CD-ROM disk, it should be appreciated thatother types of media that are readable by a computer system and that aresuitable to the desired end purpose may be used, such as magneticcassettes, flash memory cards, digital video disks, Bernoullicartridges, and the like.

A user may enter commands and information into the general computersystem 502 through a conventional input device 535, including a keyboard536, a pointing device, such as a mouse 538 and a microphone 540,wherein the microphone 540 may be used to enter audio input, such asspeech, into the general computer system 502. Additionally, a user mayenter graphical information, such as a drawing or hand writing, into thegeneral computer system 502 by drawing the graphical information on awriting tablet 542 using a stylus. The general computer system 502 mayalso include additional input devices suitable to the desired endpurpose, such as a joystick, game pad, satellite dish, scanner, or thelike. The microphone 540 may be connected to the processing device 504through an audio adapter 544 that is coupled to the system bus 508.Moreover, the other input devices are often connected to the processingdevice 504 through a serial port interface 546 that is coupled to thesystem bus 508, but may also be connected by other interfaces, such as aparallel port interface, a game port or a universal serial bus (USB).

A display device 547, such as a monitor or other type of display device547, having a display screen 548, is also connected to the system bus508 via an interface, such as a video adapter 550. In addition to thedisplay screen 548, the general computer system 502 may also typicallyinclude other peripheral output devices, such as speakers and/orprinters. The general computer system 502 may operate in a networkedenvironment using logical connections to one or more remote computersystems 552. The remote computer system 552 may be a server, a router, apeer device or other common network node, and may include any or all ofthe elements described relative to the general computer system 502,although only a remote memory storage device 554 has been illustrated inFIG. 30. The logical connections as shown in FIG. 30 include a localarea network (LAN) 556 and a wide area network (WAN) 558. Suchnetworking environments are commonplace in offices, enterprise-widecomputer networks, intranets and the Internet.

When used in a LAN networking environment, the general computer system502 is connected to the LAN 556 through a network interface 560. Whenused in a WAN networking environment, the general computer system 502typically includes a modem 562 or other means for establishingcommunications over a WAN 558, such as the Internet. The modem 562,which may be internal or external, may be connected to the system bus508 via the serial port interface 546. In a networked environment,program modules depicted relative to the general computer system 502, orportions thereof, may be stored in the remote memory storage device 554.It should be appreciated that the network connections shown areexemplary and other means of establishing a communications link betweenthe computer systems may be used. It should also be appreciated that theapplication module could equivalently be implemented on host or servercomputer systems other than general computer systems, and couldequivalently be transmitted to the host computer system by means otherthan a CD-ROM, for example, by way of the network connection interface560.

Furthermore, a number of program modules may be stored in the drives andRAM 512 of the general computer system 502. Program modules control howthe general computer system 502 functions and interacts with the user,with I/O devices or with other computers. Program modules includeroutines, operating systems 564, target application program modules 566,data structures, browsers, and other software or firmware components.The method of the present invention may be included in an applicationmodule and the application module may conveniently be implemented in oneor more program modules, such as a speech engine correction module 570based upon the methods described herein. The target application programmodules 566 may comprise a variety of applications used in conjunctionwith the present invention. These include any application and/or controlhaving a text field, e.g. an email application, a word processor program(such as Microsoft® Word, produced by Microsoft Corporation of Redmond,Wash.), a handwriting recognition program module, the speech enginecorrection module 570, and an input method editor (IME).

As described above, the methods and embodiments described hereinaboveand in the several Figures may be embodied in the form ofcomputer-implemented processes and apparatuses for practicing thoseprocesses. The methods and embodiments described hereinabove and in theseveral Figures may also be embodied in the form of computer programcode containing instructions embodied in tangible media, such as floppydiskettes, CD-ROMs, hard drives, or any other computer-readable storagemedium, wherein, when the computer program code is loaded into andexecuted by a computer, the computer becomes an apparatus for practicingthe invention. Existing systems having reprogrammable storage (e.g.,flash memory) may be updated to implement the invention. The methods andembodiments described hereinabove and in the several Figures may also beembodied in the form of computer program code, for example, whetherstored in a storage medium, loaded into and/or executed by a computer,or transmitted over some transmission medium, such as over electricalwiring or cabling, through fiber optics, or via electromagneticradiation, wherein, when the computer program code is loaded into andexecuted by a computer, the computer becomes an apparatus for practicingthe invention. When implemented on a general-purpose microprocessor, thecomputer program code segments may configure the microprocessor tocreate specific logic circuits.

It should be further appreciated that the methods and embodimentsdescribed hereinabove may be practiced via any device suitable to thedesired end purpose, such as a PDA, a PC and/or a Cell phone withnetworking capabilities.

While the invention has been described with reference to an exemplaryembodiment, it will be understood by those skilled in the art thatvarious changes may be made and equivalents may be substituted forelements thereof without departing from the scope of the invention. Inaddition, many modifications may be made to adapt a particular situationor material to the teachings of the invention without departing from thescope thereof. Therefore, it is intended that the invention not belimited to the particular embodiment disclosed as the best modecontemplated for carrying out this invention, but that the inventionwill include all embodiments falling within the scope of the appendedclaims. Moreover, unless specifically stated any use of the terms first,second, etc. do not denote any order or importance, but rather the termsfirst, second, etc. are used to distinguish one element from another.

1-20. (canceled)
 21. A method for directing at least one informationportal to generate search results using a computer executing a softwareapplication distinct from the at least one information portal, the atleast one information portal, when accessed by a user, displaying atleast one data entry field allowing for entry of a term and, responsiveto entry of the term, displaying search results to the user, the methodcomprising: displaying a user interface to the user including at leastone data entry field corresponding to the at least one data entry fieldof the at least one information portal; receiving a query term enteredinto the displayed at least one data entry field; communicatingretrieval information to the at least one information portal in a dataformat effective to prompt the at least one information portal togenerate search results associated with the received query term; anddisplaying the search results generated by the at least one informationportal.
 22. The method of claim 21, wherein the data format includes aquery string including the at least one query term.
 23. The method ofclaim 21, wherein the computer communicates the retrieval information tothe at least one information portal via a network.
 24. The method ofclaim 23, wherein displaying the search results includes opening anetwork browser to display the search results.
 25. The method of claim21, wherein the at least information portal, when accessed by the user,displays a plurality of data entry fields; wherein displaying a userinterface to the user includes displaying the plurality of data entryfields corresponding to the plurality of data entry fields of the atleast one information portal; and wherein receiving a query termincludes receiving a plurality of query terms entered into the displayedplurality of data entry fields.